demo verze - ochrana..

Otázka od: Jan Rizek

18. 6. 2004 14:18

Vytvorili jsme aplikaci. Chteli bychom vytvorit demoverzi.

Dejme tomu, ze budu mit promenou XY:boolean, ktera mi bude rikat, zda se
jedna o demoverzi nebo ne..

Je tezke nejak zvenci najit tuto promennou a zmenit jeji hodnotu?

Jak ochranit demoverzi, ktera obsahuje vse proti crackovani?

  JR


Odpovedá: Petr Zahradnik

18. 6. 2004 14:59

Puvodni zprava ze dne 18.6.2004:

> ;) DEMO ?   to asi nijak netreba chranit.. DEMO je program,
> ktory je len na ukazku.. Ostatne veci skratka nefunguje. Niesu
> pristupne...
> Skor si treba ujasnit pojmi: shareware,freeware, demo ;) xixixi

Za prve jsi mu nic neporadil. Za druhe se mu chechtas za nepresnosti
ve vyjadrovani a hemzi se to smajliky. Za treti ani spravne quotovat
neumis.

Vysledek tedy nulovy, binec v konferenci, ale hlavne ze se dobre bavis
- takze to ber jako napomenuti administratora.

Petr Zahradnik, pocitacovy expert

==========================================================
Petr Zahradnik, Computer Laboratory
Obvodova 740/14, 400 07 Usti nad Labem
telefon: 475 501 627, mobil: 602 409 601, fax: 475 511 338
web: http://www.clexpert.cz, e-mail: clexpert@clexpert.cz
ICQ: 21215917, MSN: clexpert@clexpert.cz
==========================================================


Odpovedá: Zdenek Brejsa

18. 6. 2004 14:46

> Jak ochranit demoverzi, ktera obsahuje vse proti crackovani?

Nejlepe, tak, ze veci, ktere nemaji byt v demo, ani nezakompilovavat do exe.

Zdenek Brejsa
HJ-SOFT


Odpovedá: Dalibor Toman

18. 6. 2004 14:47

On Friday, June 18, 2004 2:56 PM [CET], Jan Rizek <abxsw@centrum.cz>
wrote:

> Vytvorili jsme aplikaci. Chteli bychom vytvorit demoverzi.
>
> Dejme tomu, ze budu mit promenou XY:boolean, ktera mi bude rikat,
> zda se jedna o demoverzi nebo ne..
>
> Je tezke nejak zvenci najit tuto promennou a zmenit jeji hodnotu?

pokud bude v zavislosti na stavu teto promenne program vypisovat
'ja
jsem demoverze' pak je prolomeni zalezitost nekolika minut...

> Jak ochranit demoverzi, ktera obsahuje vse proti crackovani?

tezko. Zalezi na aplikaci (resp. na tom kolik stal vyvoj a za kolik se
prodava atd), zda se vyplati investovat cas do nejake hardcore
ochrany. Myslim, ze v naproste vetsine pripadu je to promarneny cas
programatoru. Zrejme neexistuje ochrana se kterou by si hackerske
gangy neporadily v relativne kratke dobe.
Jsem zastance jednoduche varianty - nejakym zpusobem inetligentne
zakodovane licencni cislo na jehoz validite je zavisla plna funkcnost
programu. Ze se drive ci pozdeji na internetu objevi seznam licencnich
cisel ci rovnou (pravdepodovnejsi varianta) rovnou jejich generator je
dan, ktera se musi zaplatit (zaroven je to jeden z indikatoru
oblibenosti produktu   ). Stale nastesti existuji lide/firmy, kteri
kupuji licence i kdyz 'nemusi'... a pokud implementujes nejake
'silene' ochrany dostanes se do stavu, kdy tuhle skupinu lidi budes
otravovat nejvic (negativni projevy 'dokonalych' ochran = nemoznost
upgrade PC protoze aplikace je vazana na seriova cisla hardware,
nechodici aplikace, protoze detekuje instalovanu debugger pouzivany k
ladeni uplne jine aplikace atd).

Ostatne tahle debata se tady vede periodicky nekolikrat do roka stale
se stejnym vysledkem (aspon doufam)


D. Toman
Fortech s.r.o.


Odpovedá: Stasko Peter

18. 6. 2004 15:02

;) DEMO ?   to asi nijak netreba chranit.. DEMO je program, ktory je len na
ukazku.. Ostatne veci skratka nefunguje. Niesu pristupne...
Skor si treba ujasnit pojmi: shareware,freeware, demo ;) xixixi
CAfko
-------
Vytvorili jsme aplikaci. Chteli bychom vytvorit demoverzi.

Dejme tomu, ze budu mit promenou XY:boolean, ktera mi bude rikat, zda se jedna
o demoverzi nebo ne..

Je tezke nejak zvenci najit tuto promennou a zmenit jeji hodnotu?

Jak ochranit demoverzi, ktera obsahuje vse proti crackovani?

  JR



Odpovedá: Jakub Dusek

18. 6. 2004 14:42

Misto promenne pouzij direktivu kompilatoru. Kdyz tam ta funkce proste
nebude, tak s tim nikdo nehne  

{$DEFINE DemoVersion}
....

{$IFNDEF DemoVersion}
AdvancedForm.Show;
{$ELSE}
ShowMessage('Funkce neni v demoverzi implementovana.');
{$ENDIF}

Jakub Dusek
----------------------------------------------------------------------
web: http://www.corexpert.com, mobile: +420 604 615 795, ICQ: 86063232
odesilani smsek, vizitek, log a melodii, snadna integrace do Vaseho IS
     => Sms GateKeeper, Sms GateKeeper Service

======================================================================
Friday, June 18, 2004, 2:56:33 PM, you wrote:

JR> Vytvorili jsme aplikaci. Chteli bychom vytvorit demoverzi.

JR> Dejme tomu, ze budu mit promenou XY:boolean, ktera mi bude rikat, zda se
JR> jedna o demoverzi nebo ne..

JR> Je tezke nejak zvenci najit tuto promennou a zmenit jeji hodnotu?

JR> Jak ochranit demoverzi, ktera obsahuje vse proti crackovani?

JR> JR




Odpovedá: Pavol Stugel, NETGraphics

18. 6. 2004 15:00

najlepsie tam tu obmedzenu funkcionalitu nedat ;)

> Je tezke nejak zvenci najit tuto promennou a zmenit jeji hodnotu?
otazka 5 sekund!

> Jak ochranit demoverzi, ktera obsahuje vse proti crackovani?
pre vacsi soft HW kluc.
To mas tak podla toho aky je to soft. a ake je jeho urcenie!
napr. cely svet (nejaka utilitka), pre par firiem specializovany ...


palo


Odpovedá: Ing. Radek Tomsik

18. 6. 2004 18:00


-----Original Message-----
From: delphi-l-owner@clexpert.cz [mailto:delphi-l-owner@clexpert.cz] On
Behalf Of Stasko Peter
Sent: Friday, June 18, 2004 3:21 PM
To: delphi-l@clexpert.cz
Subject: Re: demo verze - ochrana..


>Dejme tomu, ze budu mit promenou XY:boolean, ktera mi bude rikat, zda
se >jedna o demoverzi nebo ne..

>Je tezke nejak zvenci najit tuto promennou a zmenit jeji hodnotu?
Bez nejmensiho problemu


>Jak ochranit demoverzi, ktera obsahuje vse proti crackovani?
a/ PE cryptor v kombinaci packerem
b/ kontrola registrace/obdobi pri behu programu, nejen pri startu
c/ nevypisovat hlasky o tom, ze je to demo a ze uplynula nejaka doba,
ale nechat program treba zhavarovat, nebo nejak jinak "zkriplovat"
funkci programu

Radegast





Odpovedá: Jan Rizek

20. 6. 2004 15:40

Toto je asi nejlepsi zpusob.
Ovsem direktiva kompilatoru musi byt uvedena v kazde unite? Nejde ji nejak
nastavit pro cely projekt? Nechtel bych mit cely projekt prospikovan touto
directivou a pokazde ji hromadne menit..

Jde ji nastavit jen na jednom miste? Kompiler "zapomina" direktivy, ktere
jsou v unite, ktera je v sekci uses.

> Misto promenne pouzij direktivu kompilatoru. Kdyz tam ta funkce proste
> nebude, tak s tim nikdo nehne  
>
> {$DEFINE DemoVersion}
> ....
>
> {$IFNDEF DemoVersion}
> AdvancedForm.Show;
> {$ELSE}
> ShowMessage('Funkce neni v demoverzi implementovana.');
> {$ENDIF}
>
> Jakub Dusek
> ----------------------------------------------------------------------
> web: http://www.corexpert.com, mobile: +420 604 615 795, ICQ: 86063232
> odesilani smsek, vizitek, log a melodii, snadna integrace do Vaseho IS
> => Sms GateKeeper, Sms GateKeeper Service
>
> ======================================================================
> Friday, June 18, 2004, 2:56:33 PM, you wrote:
>
> JR> Vytvorili jsme aplikaci. Chteli bychom vytvorit demoverzi.
>
> JR> Dejme tomu, ze budu mit promenou XY:boolean, ktera mi bude rikat, zda
se
> JR> jedna o demoverzi nebo ne..
>
> JR> Je tezke nejak zvenci najit tuto promennou a zmenit jeji hodnotu?
>
> JR> Jak ochranit demoverzi, ktera obsahuje vse proti crackovani?
>
> JR> JR
>
>
>
>
>
>
>
>


Odpovedá: Petr Zahradnik

20. 6. 2004 16:06

Puvodni zprava ze dne 20.6.2004:

> Toto je asi nejlepsi zpusob.
> Ovsem direktiva kompilatoru musi byt uvedena v kazde unite? Nejde ji nejak

Direktivu IFDEF/IFNDEF samozrejme musis mit vsude. Direktivu DEFINE
nikoliv, tu muzes menit napr. v nastaveni projektu primo v tom
formulari.

Petr Zahradnik, pocitacovy expert

==========================================================
Petr Zahradnik, Computer Laboratory
Obvodova 740/14, 400 07 Usti nad Labem
telefon: 475 501 627, mobil: 602 409 601, fax: 475 511 338
web: http://www.clexpert.cz, e-mail: clexpert@clexpert.cz
ICQ: 21215917, MSN: clexpert@clexpert.cz
==========================================================


Odpovedá: Jan Rizek

20. 6. 2004 16:40

 Direktivu DEFINE
> nikoliv, tu muzes menit napr. v nastaveni projektu primo v tom
> formulari.
>

Ano, v zalozce Project/Options/"Directories/Conditionals" jde nastavit
Conditionals

ovsem v balickove aplikaci je nutne toto nastavit u kazdeho balicku (resp. u
balicku, ktery "Demo verzi" pouziva..).

Takze asi uplne globalne (jen na jednom miste) toto (u balickove aplikace)
nastavit nejde..


Odpovedá: Petr Fejfar

20. 6. 2004 17:19

Jan Rizek wrote:

> Takze asi uplne globalne (jen na jednom miste) toto (u balickove
> aplikace) nastavit nejde..

Zpravidla se to dela tak, ze se na zacatek kazde unit da direktiva include
nejakeho souboru s globalnimi vlastnostmi projektu.

HTH, pf



Odpovedá: Petr Zahradnik

20. 6. 2004 17:40

Puvodni zprava ze dne 20.6.2004:

> ovsem v balickove aplikaci je nutne toto nastavit u kazdeho balicku (resp. u
> balicku, ktery "Demo verzi" pouziva..).

Tak si udelas nejaky .INC soubor s direktivami, ktere potrebujes
(DEFINE) a normalne si do tech jednotek das $I nebo jak se to
includuje. Vsak se koukni do kterehokoliv baliku komponent, vetsina
jich to tak dela, to musis videt temer vsude...

Petr Zahradnik, pocitacovy expert

==========================================================
Petr Zahradnik, Computer Laboratory
Obvodova 740/14, 400 07 Usti nad Labem
telefon: 475 501 627, mobil: 602 409 601, fax: 475 511 338
web: http://www.clexpert.cz, e-mail: clexpert@clexpert.cz
ICQ: 21215917, MSN: clexpert@clexpert.cz
==========================================================



Odpovedá: Jakub Dusek

20. 6. 2004 19:08

Jak uz tu nekdo psal, taky pouzivam globalni soubor s direktivami
kompilatoru. V kazde unite, kde se na ne potrebuju odkazat dam na nej
include.

compiler.inc
------------
{$DEFINE DemoVersion}

unit.pas
--------
{$I compiler.inc}
....
{$IFDEF DemoVersion}

Jakub Dusek
----------------------------------------------------------------------
web: http://www.corexpert.com, mobile: +420 604 615 795, ICQ: 86063232
odesilani smsek, vizitek, log a melodii, snadna integrace do Vaseho IS
     => Sms GateKeeper, Sms GateKeeper Service

======================================================================
Sunday, June 20, 2004, 4:36:24 PM, you wrote:

JR> Toto je asi nejlepsi zpusob.
JR> Ovsem direktiva kompilatoru musi byt uvedena v kazde unite? Nejde ji nejak
JR> nastavit pro cely projekt? Nechtel bych mit cely projekt prospikovan touto
JR> directivou a pokazde ji hromadne menit..

JR> Jde ji nastavit jen na jednom miste? Kompiler "zapomina" direktivy, ktere
JR> jsou v unite, ktera je v sekci uses.


Odpovedá: Jan Rizek

22. 6. 2004 8:41

> Jak uz tu nekdo psal, taky pouzivam globalni soubor s direktivami
> kompilatoru. V kazde unite, kde se na ne potrebuju odkazat dam na nej
> include.
>

To je asi nejlepsi zpusob. Dekuji za typy.

  JR